package com.ys.entity.finance;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCW_WanliPayout", catalog="Id")
public class TcwWanliPayout extends BaseEntity<TcwWanliPayout> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Mid", nameJava="mid", typeDataBase="varchar")
	private String mid;
	@YsField(nameDataBase="Type", nameJava="type", typeDataBase="tinyint")
	private Integer type;
	@YsField(nameDataBase="RelativeId", nameJava="relativeId", typeDataBase="bigint")
	private Long relativeId;
	@YsField(nameDataBase="TransferRequestId", nameJava="transferRequestId", typeDataBase="varchar")
	private String transferRequestId;
	@YsField(nameDataBase="OrderNo", nameJava="orderNo", typeDataBase="varchar")
	private String orderNo;
	@YsField(nameDataBase="TransferFromAmountValue", nameJava="transferFromAmountValue", typeDataBase="decimal")
	private BigDecimal transferFromAmountValue;
	@YsField(nameDataBase="CurrencyCode", nameJava="currencyCode", typeDataBase="char")
	private String currencyCode;
	@YsField(nameDataBase="PaymentMethodType", nameJava="paymentMethodType", typeDataBase="varchar")
	private String paymentMethodType;
	@YsField(nameDataBase="PaymentMethodId", nameJava="paymentMethodId", typeDataBase="varchar")
	private String paymentMethodId;
	@YsField(nameDataBase="PaymentMethodMetaData", nameJava="paymentMethodMetaData", typeDataBase="text")
	private String paymentMethodMetaData;
	@YsField(nameDataBase="TransferToAmountValue", nameJava="transferToAmountValue", typeDataBase="decimal")
	private BigDecimal transferToAmountValue;
	@YsField(nameDataBase="TransferQuote", nameJava="transferQuote", typeDataBase="varchar")
	private String transferQuote;
	@YsField(nameDataBase="TransferNotifyUrl", nameJava="transferNotifyUrl", typeDataBase="varchar")
	private String transferNotifyUrl;
	@YsField(nameDataBase="TransferRemark", nameJava="transferRemark", typeDataBase="varchar")
	private String transferRemark;
	@YsField(nameDataBase="TransferMemo", nameJava="transferMemo", typeDataBase="varchar")
	private String transferMemo;
	@YsField(nameDataBase="ExtendInfo", nameJava="extendInfo", typeDataBase="text")
	private String extendInfo;
	@YsField(nameDataBase="PurposeCode", nameJava="purposeCode", typeDataBase="varchar")
	private String purposeCode;
	@YsField(nameDataBase="ArrivalType", nameJava="arrivalType", typeDataBase="varchar")
	private String arrivalType;
	@YsField(nameDataBase="BusinessSceneCode", nameJava="businessSceneCode", typeDataBase="varchar")
	private String businessSceneCode;
	@YsField(nameDataBase="FeeAmount", nameJava="feeAmount", typeDataBase="decimal")
	private BigDecimal feeAmount;
	@YsField(nameDataBase="ResultCode", nameJava="resultCode", typeDataBase="varchar")
	private String resultCode;
	@YsField(nameDataBase="ResultMessage", nameJava="resultMessage", typeDataBase="varchar")
	private String resultMessage;
	@YsField(nameDataBase="ResultStatus", nameJava="resultStatus", typeDataBase="char")
	private String resultStatus;
	@YsField(nameDataBase="State", nameJava="state", typeDataBase="tinyint")
	private Integer state;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcwWanliPayout setId(Long id) {
		this.id = id;
		return this;
	}
	public String getMid() {
		return mid;
	}
	public TcwWanliPayout setMid(String mid) {
		this.mid = mid;
		return this;
	}
	public Integer getType() {
		return type;
	}
	public TcwWanliPayout setType(Integer type) {
		this.type = type;
		return this;
	}
	public Long getRelativeId() {
		return relativeId;
	}
	public TcwWanliPayout setRelativeId(Long relativeId) {
		this.relativeId = relativeId;
		return this;
	}
	public String getTransferRequestId() {
		return transferRequestId;
	}
	public TcwWanliPayout setTransferRequestId(String transferRequestId) {
		this.transferRequestId = transferRequestId;
		return this;
	}
	public String getOrderNo() {
		return orderNo;
	}
	public TcwWanliPayout setOrderNo(String orderNo) {
		this.orderNo = orderNo;
		return this;
	}
	public BigDecimal getTransferFromAmountValue() {
		return transferFromAmountValue;
	}
	public TcwWanliPayout setTransferFromAmountValue(BigDecimal transferFromAmountValue) {
		this.transferFromAmountValue = transferFromAmountValue;
		return this;
	}
	public String getCurrencyCode() {
		return currencyCode;
	}
	public TcwWanliPayout setCurrencyCode(String currencyCode) {
		this.currencyCode = currencyCode;
		return this;
	}
	public String getPaymentMethodType() {
		return paymentMethodType;
	}
	public TcwWanliPayout setPaymentMethodType(String paymentMethodType) {
		this.paymentMethodType = paymentMethodType;
		return this;
	}
	public String getPaymentMethodId() {
		return paymentMethodId;
	}
	public TcwWanliPayout setPaymentMethodId(String paymentMethodId) {
		this.paymentMethodId = paymentMethodId;
		return this;
	}
	public String getPaymentMethodMetaData() {
		return paymentMethodMetaData;
	}
	public TcwWanliPayout setPaymentMethodMetaData(String paymentMethodMetaData) {
		this.paymentMethodMetaData = paymentMethodMetaData;
		return this;
	}
	public BigDecimal getTransferToAmountValue() {
		return transferToAmountValue;
	}
	public TcwWanliPayout setTransferToAmountValue(BigDecimal transferToAmountValue) {
		this.transferToAmountValue = transferToAmountValue;
		return this;
	}
	public String getTransferQuote() {
		return transferQuote;
	}
	public TcwWanliPayout setTransferQuote(String transferQuote) {
		this.transferQuote = transferQuote;
		return this;
	}
	public String getTransferNotifyUrl() {
		return transferNotifyUrl;
	}
	public TcwWanliPayout setTransferNotifyUrl(String transferNotifyUrl) {
		this.transferNotifyUrl = transferNotifyUrl;
		return this;
	}
	public String getTransferRemark() {
		return transferRemark;
	}
	public TcwWanliPayout setTransferRemark(String transferRemark) {
		this.transferRemark = transferRemark;
		return this;
	}
	public String getTransferMemo() {
		return transferMemo;
	}
	public TcwWanliPayout setTransferMemo(String transferMemo) {
		this.transferMemo = transferMemo;
		return this;
	}
	public String getExtendInfo() {
		return extendInfo;
	}
	public TcwWanliPayout setExtendInfo(String extendInfo) {
		this.extendInfo = extendInfo;
		return this;
	}
	public String getPurposeCode() {
		return purposeCode;
	}
	public TcwWanliPayout setPurposeCode(String purposeCode) {
		this.purposeCode = purposeCode;
		return this;
	}
	public String getArrivalType() {
		return arrivalType;
	}
	public TcwWanliPayout setArrivalType(String arrivalType) {
		this.arrivalType = arrivalType;
		return this;
	}
	public String getBusinessSceneCode() {
		return businessSceneCode;
	}
	public TcwWanliPayout setBusinessSceneCode(String businessSceneCode) {
		this.businessSceneCode = businessSceneCode;
		return this;
	}
	public BigDecimal getFeeAmount() {
		return feeAmount;
	}
	public TcwWanliPayout setFeeAmount(BigDecimal feeAmount) {
		this.feeAmount = feeAmount;
		return this;
	}
	public String getResultCode() {
		return resultCode;
	}
	public TcwWanliPayout setResultCode(String resultCode) {
		this.resultCode = resultCode;
		return this;
	}
	public String getResultMessage() {
		return resultMessage;
	}
	public TcwWanliPayout setResultMessage(String resultMessage) {
		this.resultMessage = resultMessage;
		return this;
	}
	public String getResultStatus() {
		return resultStatus;
	}
	public TcwWanliPayout setResultStatus(String resultStatus) {
		this.resultStatus = resultStatus;
		return this;
	}
	public Integer getState() {
		return state;
	}
	public TcwWanliPayout setState(Integer state) {
		this.state = state;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcwWanliPayout setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcwWanliPayout setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcwWanliPayout setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcwWanliPayout tcwWanliPayout(
		String mid,
		Integer type,
		Long relativeId,
		String transferRequestId,
		String orderNo,
		BigDecimal transferFromAmountValue,
		String currencyCode,
		String paymentMethodType,
		String paymentMethodId,
		String paymentMethodMetaData,
		BigDecimal transferToAmountValue,
		String transferQuote,
		String transferNotifyUrl,
		String transferRemark,
		String transferMemo,
		String extendInfo,
		String purposeCode,
		String arrivalType,
		String businessSceneCode,
		BigDecimal feeAmount,
		String resultCode,
		String resultMessage,
		String resultStatus,
		Integer state,
		Integer status
			) {
		TcwWanliPayout entity = new TcwWanliPayout();
		entity.setMid(mid);
		entity.setType(type);
		entity.setRelativeId(relativeId);
		entity.setTransferRequestId(transferRequestId);
		entity.setOrderNo(orderNo);
		entity.setTransferFromAmountValue(transferFromAmountValue);
		entity.setCurrencyCode(currencyCode);
		entity.setPaymentMethodType(paymentMethodType);
		entity.setPaymentMethodId(paymentMethodId);
		entity.setPaymentMethodMetaData(paymentMethodMetaData);
		entity.setTransferToAmountValue(transferToAmountValue);
		entity.setTransferQuote(transferQuote);
		entity.setTransferNotifyUrl(transferNotifyUrl);
		entity.setTransferRemark(transferRemark);
		entity.setTransferMemo(transferMemo);
		entity.setExtendInfo(extendInfo);
		entity.setPurposeCode(purposeCode);
		entity.setArrivalType(arrivalType);
		entity.setBusinessSceneCode(businessSceneCode);
		entity.setFeeAmount(feeAmount);
		entity.setResultCode(resultCode);
		entity.setResultMessage(resultMessage);
		entity.setResultStatus(resultStatus);
		entity.setState(state);
		entity.setStatus(status);
		return entity;
	}
}